package cn.com.acca.ma.xmlmapper;

public interface StockIndexMonthMapper {

    /**************************************************************************************************
     *
     * 									       更新周线级别，所有月份的指数数据
     *
     **************************************************************************************************/
    /**
     * 计算月线级别，所有指数的基础数据
     */
    void writeStockIndexMonth();

    /**
     * 计算月线级别，所有指数的5日均线
     */
    void writeStockIndexMonthMA5();

    /**
     * 计算月线级别，所有指数的10日均线
     */
    void writeStockIndexMonthMA10();

    /**
     * 计算月线级别，所有指数的20日均线
     */
    void writeStockIndexMonthMA20();

    /**
     * 计算月线级别，所有指数的60日均线
     */
    void writeStockIndexMonthMA60();

    /**
     * 计算月线级别，所有指数的120日均线
     */
    void writeStockIndexMonthMA120();

    /**
     * 计算月线级别，所有指数的250日均线
     */
    void writeStockIndexMonthMA250();

    /**
     * 计算月线级别，所有指数的KD，执行存储过程WRITE_MONTH_KD_INIT
     */
    void writeStockIndexMonthKD_init();

    /**
     * 计算月线级别，所有指数的KD，执行存储过程WRITE_MONTH_KD_RSV
     */
    void writeStockIndexMonthKD_rsv();

    /**
     * 计算月线级别，所有指数的KD，执行存储过程WRITE_MONTH_KD_K
     */
    void writeStockIndexMonthKD_k();

    /**
     * 计算月线级别，所有指数的KD，执行存储过程WRITE_MONTH_KD_D
     */
    void writeStockIndexMonthKD_d();

    /**
     * 计算月线级别，所有指数的MACD，执行存储过程WRITE_MONTH_MACD_INIT
     */
    void writeStockIndexMonthMACD_init();

    /**
     * 计算月线级别，所有指数的MACD，执行存储过程WRITE_MONTH_MACD_EMA
     */
    void writeStockIndexMonthMACD_ema();

    /**
     * 计算月线级别，所有指数的MACD，执行存储过程WRITE_MONTH_MACD_DIF
     */
    void writeStockIndexMonthMACD_dif();

    /**
     * 计算月线级别，所有指数的MACD，执行存储过程WRITE_MONTH_MACD_DEA
     */
    void writeStockIndexMonthMACD_dea();

    /**
     * 计算月线级别，所有指数的MACD，执行存储过程WRITE_MONTH_MACD
     */
    void writeStockIndexMonthMACD_macd();

    /**************************************************************************************************
     *
     * 									       更新周线级别，某一月的指数数据
     *
     **************************************************************************************************/
    /**
     * 根据开始时间和结束时间，计算某一个月的所有指数的基础数据
     * @param beginDate
     * @param endDate
     */
    void writeStockIndexMonthByDate(String beginDate, String endDate);

    /**
     * 根据每个月的开始时间和结束时间，计算某一个月的所有指数的移动平均线
     * @param currentMonthBeginDate
     * @param currentMonthEndDate
     */
    void writeStockIndexMonthMAByDate(String currentMonthBeginDate, String currentMonthEndDate);

    /**
     * 根据开始时间和结束时间，计算某一个月的所有指数的KD，执行存储过程WRITE_MONTH_KD_BY_DATE_RSV
     * @param beginDate
     * @param endDate
     */
    void writeStockIndexMonthKDByDate_rsv(String beginDate, String endDate);

    /**
     * 根据开始时间和结束时间，计算某一个月的所有指数的KD，执行存储过程WRITE_MONTH_KD_BY_DATE_K
     * @param beginDate
     * @param endDate
     */
    void writeStockIndexMonthKDByDate_k(String beginDate, String endDate);

    /**
     * 根据开始时间和结束时间，计算某一个月的所有指数的KD，执行存储过程WRITE_MONTH_KD_BY_DATE_D
     * @param beginDate
     * @param endDate
     */
    void writeStockIndexMonthKDByDate_d(String beginDate, String endDate);

    /**
     * 根据开始时间和结束时间，计算某一个月的所有指数的MACD，执行存储过程WRITE_MONTH_MACD_EMA_BY_DATE
     * @param beginDate
     * @param endDate
     */
    void writeStockIndexMonthMACDByDate_ema(String beginDate, String endDate);

    /**
     * 根据开始时间和结束时间，计算某一个月的所有指数的MACD，执行存储过程WRITE_MONTH_MACD_DIF_BY_DATE
     * @param beginDate
     * @param endDate
     */
    void writeStockIndexMonthMACDByDate_dif(String beginDate, String endDate);

    /**
     * 根据开始时间和结束时间，计算某一个月的所有指数的MACD，执行存储过程WRITE_MONTH_MACD_DEA_BY_DATE
     * @param beginDate
     * @param endDate
     */
    void writeStockIndexMonthMACDByDate_dea(String beginDate, String endDate);

    /**
     * 根据开始时间和结束时间，计算某一个月的所有指数的MACD，执行存储过程WRITE_MONTH_MACD_BY_DATE
     * @param beginDate
     * @param endDate
     */
    void writeStockIndexMonthMACDByDate(String beginDate, String endDate);
}
